<?php #coding: utf-8 æ ø å ?
if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Almanak extends CI_Controller {

	// Sørger for at køre login check hver gang Almanakken indlæses
	function __construct()
	{
	parent::__construct();
	$this->is_logged_in();
	}

	
	public function side() {

		$this->load->model("element/type_spec_model");
		$this->load->model("element/type_model");
		$this->load->model('core/element');
		$this->load->model('core/gruppe_styring');
		$this->load->model('core/entitet');		
		$this->load->model('core/vis_model');
		$this->load->model('indhold/beskrivelse_model');
		$this->load->model('rettighed_model');
		$this->load->model('rettighed/rollespiller');
		$this->load->model('translation/tid_model');		
		$this->load->model('wysiwyg_model');
		$this->load->helper('array');
		$this->load->model('rollespiller_model');
		$this->load->model('media_model');
		$this->load->model('kampagne_model');
		

		// --- BRUGEROPLYSNINGER HENTES FRA CODEIGNITER session();
		// ---- 
		$data['ingame'] = $this->session->userdata('ingame');
		$data['deltager'] = $this->session->userdata('deltager');

		// Disse jSON arrays dannes i rettighed_model.php (kaldes i login_model->go_ingame() // xxx Kunne man lægge de her otte linjer ind i en model?
		$json_seEle = file_get_contents('./data/user_doc/rettighed/'.$data['deltager']['userid'].'/se_elementer.json');
		$data['seEle'] = json_decode($json_seEle,true);
		$json_seBes = file_get_contents('./data/user_doc/rettighed/'.$data['deltager']['userid'].'/se_beskrivelser.json');
		$data['seBes'] = json_decode($json_seBes,true);
		$json_redEle = file_get_contents('./data/user_doc/rettighed/'.$data['deltager']['userid'].'/red_elementer.json');
		$data['redEle'] = json_decode($json_redEle,true);
		$json_redBes = file_get_contents('./data/user_doc/rettighed/'.$data['deltager']['userid'].'/red_beskrivelser.json');
		$data['redBes'] = json_decode($json_redBes,true);
		
		//print_r($data['seEle']);


		// BOGMÆRKER HENTES IND på BAGGRUND AF CI SESSION
		$data['bookmarks'] = $this->rollespiller_model->find_bookmarks($data['deltager']['userid']);

		//---ELEMENTET HENTES IND---
		//---henter id fra uri
		$id = $this->uri->segment(3,0);
		$id = (int) $id;

		//---Tjekker om deltageren har rettigheder til at se elementet med det pågældende $id
		if(in_array($id,$data['seEle'])) {
			$data['id'] = $id;
		}
		else { redirect("forord");
		}

		//---STAMDATA---henter stamdata (birth og death og element.type) 			
        $element = new element();
		$element->find_stamdata($id);
		$data['stamdata'] = $element->stamdata;

		$element->find_stamdata($id);
		$data['stamdata'] = $element->stamdata;
		$type = $data['stamdata']['type'];	
		$type_spec = $data['stamdata']['type_spec'];
		
		//echo "sdfdsf ".$type_spec;

		// Tjekker om type_spec er sat i databasen: 
		if(empty($type_spec)) { // hvis $type_spec ikke er sat, findes $type_spec og skrives ned i databasen

			echo "type_spec er tom: forsøger at skrive type_spec til db";
			$type_info = new type_spec_model();		
			$type_info->specificer_type($id,$type);
			$type_spec_til_db = $type_info->type_spec;	
			$this->type_spec_model->skriv_type_spec($id,$type_spec_til_db);
		}
		else {  "type_spec er ikke tom og et sat til ";}

		// Type_array dannes for data hente den relevante data
		$element->find_typer($type,$type_spec);
		$typer = $element->type_array;
		// Data hentes

		$data['element_typer'] = $typer;
		
		//---NAVNE---hender elementets navne
		$element->find_navne($id);
		$data['navne'] = $element->navne;
        if(empty($data['navne'])) { $data['navne'][0] = "Intet navn"; }

		//---RETTIGHEDER---
		$rollespiller = new rollespiller();
		$rollespiller->blik(0,0);
		$data['blik'] = $rollespiller->blik;
		//print_r($data['blik']['admin_pc']);
		//---BESKRIVELSER--- inklusiv manchet, rettigheder over beskrivelse
		$element->find_beskrivelser($id);
		$data['beskrivelser'] = $element->beskrivelser; //print_r($data['beskrivelser']);

		//$this->load->model("element/type_spec_model");
		//---BILLEDER--- 
		$data['primaer_billede'] = $this->media_model->vis_primaer_billede($id);

		//---KAMPAGNER---
		$data['kampagner'] = $this->kampagne_model->get_alle_kampagner();

		// Data hentes på baggrund af type_array
		foreach($typer as $t) {
				$data['element_data'][$t] = $this->type_model->find_data($id,$t);
				$data['element_content'][$t] = "element/type/".$t;
				//print_r($data['element_data'][$t]);
		}

		// Elementer over og under hentes
		$element->find_over($id);
		$data['over'] = $element->over;

		$element->find_under($id);
		$data['under'] = $element->under;

	
		// Tjekker for rettigheder til at se elementerne i over og under:
	/*	$data['under'] = array();
		$data['over'] = array();
		foreach($over_ini as $o) {
			if(in_array($o['over_id'],$data['seEle'])) { 
				$data['over'][] = $o; 
			}
		}
		foreach($under_ini as $u) {
			if(in_array($u['under_id'],$data['seEle'])) { 
				$data['under'][] = $u; 
			}
		}*/
//		print_r($data['under']);

		// Samtlige deltagere
		$data['deltagere'] = $this->rettighed_model->list_deltagere();

		// SÆTTER OVERSKRIFTER SIDEHOVEDER OG OVERSKRIFTER
		$data['sidehoved_right'] = "almanak/sidehoved_right";
		$data['sidehoved_left'] = "almanak/sidehoved_left";
		$data['sidefod_right'] = "almanak/sidefod_right";
		$data['sidefod_left'] = "almanak/sidefod_left";
		$data['overskrift_right'] = $data['navne'][0];



		//$data['content_left'] = array();
		$data['content_left'][] = "includes/banners/skift_blik";
		$data['content_left'][] = "element/navigation";
		//$data['content_right'][] = "beskrivelser/rediger_billeder";
		$data['content_right'][] = "WYSIWYG/standard";		
		//$data['content_right'][] = "core/billede";
		$data['content_right'][] = "beskrivelser/element";

		// gør URI(4) til ændring af content_right  
		$nav = $this->uri->segment(4,0);
		if(!empty($nav)) {

			unset ($data['content_right']);
			$data['content_right'][] = "forms/".$this->uri->segment(4);
		}
		
		//POPUP med forvaltere i.
		$data['popup']['view-sti'] = "forvalter/rediger";
		//$data['popup']['showhide'] = "show";

		// LOADER $DATA IND I TEMPLATEN 
		$this->load->view('includes/templates/bogpaapult.php',$data);

	}






	function is_logged_in()
	{
		// Definerer session med $is_logged_in
		$deltager = $this->session->userdata('deltager');
		$ingame = $this->session->userdata('ingame');


			//echo "deltager er "; print_r($deltager);
			//echo "ingame er "; print_r($ingame);

		if(empty($deltager) or empty($ingame))
		{



            $redirect['url'] = $this->uri->uri_string();
            $redirect['side'] = $this->uri->segment(5);
	    	$this->session->set_userdata('redirect', $redirect);      
			// Viser header, tilskuer.php med besked om "at det ikke lykkedes at blive deltager" og footer 
            

			redirect('login');
		
		 		
		}
	}

}

?>
